package com.lmf.mock.starter.autoconfigure.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.lmf.mock.starter.autoconfigure.entity.MockApi;

import java.util.List;
import java.util.Map;

/**
 * Mock接口服务接口
 */
public interface MockApiService extends IService<MockApi> {

    /**
     * 根据分组ID获取接口列表
     */
    List<MockApi> getApisByGroupId(Long groupId);

    /**
     * 根据路径和方法获取接口
     */
    MockApi getApiByPathAndMethod(String path, String method);

    /**
     * 根据路径、方法和参数获取匹配的接口
     */
    MockApi getApiByPathMethodAndParams(String path, String method, Map<String, Object> requestParams);

    /**
     * 创建接口
     */
    boolean createApi(MockApi api);

    /**
     * 更新接口
     */
    boolean updateApi(MockApi api);

    /**
     * 删除接口
     */
    boolean deleteApi(Long id);

    /**
     * 启用/禁用接口
     */
    boolean toggleApiStatus(Long id, boolean enabled);
}
